home *** CD-ROM | disk | FTP | other *** search
- Unit LibIntf;
-
- interface
-
- uses
- SysUtils, Windows, Messages, Classes, Graphics, Controls, Forms,
- TypInfo, IStreams, DsgnIntf, VirtIntf, ToolIntf, ExptIntf, FileIntf, EditIntf;
-
- const
- LibrarySignature='COMPLIB0056';
-
- fsVisible = 0;
- fsIconic = 1;
- fsZoomed = 2;
-
- ssNormal = 0;
- ssMinimized = 1;
- ssMaximized = 2;
-
- esCanUndo = 0;
- esCanRedo = 1;
- esCanCut = 2;
- esCanCopy = 3;
- esCanPaste = 4;
- esCanDelete = 5;
- esCanZOrder = 6;
- esCanAlignGrid = 7;
- esCanEditOle = 8;
- esCanTabOrder = 9;
- esCanCreationOrder = 10;
- esCanPrint = 11;
-
- type
-
- TDesignDialog = (ddAlign,ddSize,ssScale,ddTabOrder,ddCreationEdition,ddSaveTemplate);
-
- TDesignerOptions = record
- DisplayGrid : boolean;
- SnapToGrid : boolean;
- GridSizeX : integer;
- GridSizeY : integer;
- ShowComponentCaption : boolean;
- end;
-
- TIModule = class;
-
- TIPaletteItem = class(TInterface)
- public
- function CreateComponent(Owner:TComponent; Parent:TComponent; Module:TIModule):TComponent; virtual; abstract;
- procedure Paint(Canvas:TCanvas; X:integer; Y:integer); virtual; abstract;
- end;
-
- TIDelphiIDE=class(TInterface)
- public
- procedure ActiveFormModified; virtual; abstract;
- procedure ComponentRenamed(const CurName:string; const NewName:string); virtual; abstract;
- procedure ExecDesignDialog(DesignDialog:TDesignDialog); virtual; abstract;
- procedure FormActivated; virtual; abstract;
- function GetAppHandle : integer; virtual; abstract;
- function GetPathAndBaseExeName : string; virtual; abstract;
- function GetBaseRegKey : string; virtual; abstract;
- function GetToolSelected : boolean; virtual; abstract;
- function GetCurCompClass : TIPaletteItem; virtual; abstract;
- function GetPaletteItem(ComponentClass:TComponentClass) : TIPaletteItem; virtual; abstract;
- function GetCurTime : integer; virtual; abstract;
- procedure GetDesignerOptions(var Options:TDesignerOptions); virtual; abstract;
- function GetMainWindowSize : TRect; virtual; abstract;
- function LockState : boolean; virtual; abstract;
- procedure ModalEdit(EditKey:char; ReturnWindow:pointer); virtual; abstract;
- procedure OpenForm(const FormName:string; Show:boolean); virtual; abstract;
- procedure RaiseException (const Message:string); virtual; abstract;
- procedure ResetCompClass; virtual; abstract;
- procedure SelectionChanged; virtual; abstract;
- procedure ShowClassHelp(const ClassName:string); virtual; abstract;
- procedure SelectItemName(const PropertyName:string); virtual; abstract;
- procedure ValidateActiveModule; virtual; abstract;
- procedure AddExpert(Expert:TIExpert); virtual; abstract;
- procedure RemoveExpert(Expert:TIExpert); virtual; abstract;
- function GetToolServices : TIToolServices; virtual; abstract;
- procedure ExpertsLoaded; virtual; abstract;
- function GetFileSystem(const Ident:string): TIVirtualFileSystem; virtual; abstract;
- function MakeBackupFileName(const FileName:string): string; virtual; abstract;
- function CreateBackupFile : boolean; virtual; abstract;
- function WinHelp(const HelpFile:string; Command:integer; Data:integer): boolean; virtual; abstract;
- end;
-
- TICompClass = class(TInterface)
- public
- function GetBitmapPos(Selected:boolean): TPoint; virtual; abstract;
- function GetClassName : string; virtual; abstract;
- function GetDefaultPage : string; virtual; abstract;
- function GetModuleIndex : integer; virtual; abstract;
- end;
-
- TPropKind = (pkProperties,pkEvents);
-
- TIProperty = class;
-
- TGetPropProc = procedure(Prop:TIProperty);
-
- TFormState = set of fsVisible..fsZoomed;
-
- TEditAction = (eaUndo, eaCut, eaCopy, eaPaste, eaDelete, eaSelectAll, eaPrint,
- eaBringToFront, eaSendToBack, eaAlignToGrid);
-
- TEditState = set of esCanUndo..esCanPrint;
-
- TShowState = set of ssNormal..ssMaximized;
-
- TAffect = (afTop, afLeft, afBottom, afRight, afHCenter, afVCenter,
- afHSpace, afVSpace, afHWinCenter, afVWinCenter);
-
- TSizeAffect = (asHGrow, asHShrink, asHAbsolute,
- asVGrow, asVShrink, asVAbsolute, asNothing);
-
- TIFile = class(TInterface)
- public
- function FormFileOpen: TIStream; virtual; abstract;
- function GetFileName: string; virtual; abstract;
- function GetTimeAtLoad: integer; virtual; abstract;
- function GetModifyTime: integer; virtual; abstract;
- function CheckFileDate: Boolean; virtual; abstract;
- procedure Rename(const NewFileName:string); virtual; abstract;
- procedure Save; virtual; abstract;
- end;
-
- TIForm = class;
- TICompInfo = class;
-
- TGetFormProc = procedure (AForm:TIForm);
-
- TIForm = class(TIFile)
- { protected
- function GetDesigner:TFormDesigner;}
- public
- procedure Align(Affect:TAffect); virtual; abstract;
- procedure CreateComponent(Item:TICompClass); virtual; abstract;
- function FindCompClass(const CompName:string): string; virtual; abstract;
- function GetAncestorName: string; virtual; abstract;
- function GetCompCount: integer; virtual; abstract;
- procedure GetDependentForms(Proc:TGetFormProc); virtual; abstract;
- function GetDesignClassName: string; virtual; abstract;
- procedure GetFormDependencies(Proc:TGetFormProc); virtual; abstract;
- function GetNVComp(Index:integer): pointer; virtual; abstract;
- function GetCompInfo(Index:integer): TICompInfo; virtual; abstract;
- function GetModule: TIModule; virtual; abstract;
- function GetCompName(Index:integer): string; virtual; abstract;
- function GetFileSystem: string; virtual; abstract;
- function GetFormInterface: TIFormInterface; virtual; abstract;
- function GetFormName: string; virtual; abstract;
- function GetFormImage: word; virtual; abstract;
- procedure GetFormUnits(Proc:TGetStrProc); virtual; abstract;
- function GetState: TFormState; virtual; abstract;
- function GetTabCompCount: integer; virtual; abstract;
- function GetTabCompInfo(Order:integer; var Name:string; var Comp:pointer): boolean; virtual; abstract;
- function GetObjectMenuItemCount: integer; virtual; abstract;
- function GetObjectMenuItem(Index:integer): string; virtual; abstract;
- procedure ObjectMenuAction(Index:integer); virtual; abstract;
- procedure Hide; virtual; abstract;
- procedure GoDormant; virtual; abstract;
- procedure RenameFormMethod(const CurName:string; const NewName : string); virtual; abstract;
- procedure RemoveDependentLinks; virtual; abstract;
- procedure Scale(Factor:integer); virtual; abstract;
- procedure SetFileSystem(const FileSystem:string); virtual; abstract;
- procedure SetFormName(const AName:string); virtual; abstract;
- procedure SetSelection(const Name:string); virtual; abstract;
- procedure SetNVComp(Comp:pointer; Oredr:integer); virtual; abstract;
- procedure SetTabCompOrder(Comp:pointer; Oredr:integer); virtual; abstract;
- procedure Show; virtual; abstract;
- procedure ShowAs(ShowState:TShowState); virtual; abstract;
- procedure Size(Affect:TSizeAffect; Value:integer); virtual; abstract;
- end;
-
- TDragTarget = class(TObject)
- public
- procedure Create(ADesigner:TFormDesigner); virtual; abstract;
- function DragOver(Terget,Source : TObject; X,Y : integer; State:TDragState):boolean; virtual; abstract;
- procedure DragDrop(Terget,Source : TObject; X,Y : integer); virtual; abstract;
- end;
-
- TDragTargetClass = class of TDragTarget;
-
- TILibrary = class (TInterface)
- public
- procedure CopySelectionToStream(S:TMemoryStream); virtual; abstract;
- function CreateForm(AModule:TIModule; const AFileName:string; Existing:boolean;
- const AFormName:string; AAncestor:string; AFileSystem:string): TIForm; virtual; abstract;
- function CreateFromStream(AModule:TIModule; const AFileName:string; IStream:TIStream): TIForm; virtual; abstract;
- procedure DesignerOptionsChanged; virtual; abstract;
- procedure EditAction(Action:TEditAction); virtual; abstract;
- function FindFile(const FileName:string): TIFile; virtual; abstract;
- function FindForm(const FormName:string): TIForm; virtual; abstract;
- function GetActiveForm : TIForm; virtual; abstract;
- procedure GetClassUnits(const ClassName:string; Proc:TGetStrProc); virtual; abstract;
- function GetCompClass(Index:integer): TICompClass; virtual; abstract;
- function GetCompClassCount: integer; virtual; abstract;
- procedure GetCompHierarchy(Proc:TGetStrProc); virtual; abstract;
- function GetComponentBitmap: integer; virtual; abstract;
- function GetEditState: TEditState; virtual; abstract;
- function GetFirstSelectionType:string; virtual; abstract;
- procedure GetFormNames(Proc:TGetStrProc); virtual; abstract;
- function GetModuleCount: integer; virtual; abstract;
- function GetModuleName(Index:integer): string; virtual; abstract;
- function GetOleCtrlHelp(const Member:string; var HelpCtx:integer; var HelpFile:string): boolean; virtual; abstract;
- procedure GetProperties(PropKind:TPropKind; Proc:TGetPropProc); virtual; abstract;
- function GetSelectionName: string; virtual; abstract;
- function GetSelectionType: string; virtual; abstract;
- procedure HideWindow; virtual; abstract;
- procedure IsDesignMsg(var Msg:TMsg; var Handled:boolean); virtual; abstract;
- function IsTopmostForm(Wnd:integer): boolean; virtual; abstract;
- function IsValidTemplateSelection: boolean; virtual; abstract;
- procedure ModalEditDone(ReturnWindow:pointer); virtual; abstract;
- procedure PasteSelectionFromStream(S:TMemoryStream); virtual; abstract;
- procedure RaiseException(const Message:string); virtual; abstract;
- procedure RegisterDesignWindow(Window:TForm); virtual; abstract;
- procedure RegisterDragTarget(const SourceName:string; TargetClass:TDragTargetClass); virtual; abstract;
- procedure ShowWindows; virtual; abstract;
- procedure SetLockState(State:boolean); virtual; abstract;
- procedure SetProjectName(const Name:string); virtual; abstract;
- procedure GetSelection(ASelection:TComponentList); virtual; abstract;
- procedure SetSelection(Designer:TDesigner; DesignWindow:TForm; ASelection:TComponentList); virtual; abstract;
- procedure UnregisterDesignWindow(Window:TForm); virtual; abstract;
- procedure UnregisterExpertGroup(Group:integer); virtual; abstract;
- end;
-
- TIModule = class(TInterface)
- public
- procedure Activate(IsForm:boolean); virtual; abstract;
- procedure CreateMethod(const Name:string; TypeData:PTypeData); virtual; abstract;
- procedure FormModified; virtual; abstract;
- function GetAncestorClassName(const ClassName:string):string; virtual; abstract;
- procedure GetMethods(TypeData:PTypeData; Proc:TGetStrProc); virtual; abstract;
- function FormIsTopmost: boolean; virtual; abstract;
- procedure FormResurrected; virtual; abstract;
- function MethodExists(const Name:string): boolean; virtual; abstract;
- procedure RenameComponent(CompInfo:TICompInfo; const CurName, NewName: string); virtual; abstract;
- procedure RenameForm(CompInfo:TICompInfo; const NewName:string); virtual; abstract;
- procedure RenameMethod(const CurName, NewName: string); virtual; abstract;
- procedure ShowMethod(const Name: string); virtual; abstract;
- procedure GetImportedForms(Proc:TGetStrProc); virtual; abstract;
- procedure ImportForm(const FormName:string); virtual; abstract;
- procedure Notify(NotifyCode:TNotifyCode); virtual; abstract;
- procedure SwapSourceFormView; virtual; abstract;
- function GetMethod(const MethodName:string): string; virtual; abstract;
- procedure AddMethods(Methods:string; Replacements:TStrings; MethodNames:TStrings); virtual; abstract;
- function HasInterface: Boolean; virtual; abstract;
- function InterfaceMemberExists(CONST Name: String): Boolean; virtual; abstract;
- procedure AddInterfaceMember(CONST MemberText: String); virtual; abstract;
- end;
-
- TIProperty = class(TInterface)
- public
- procedure Activate; virtual; abstract;
- function AllEqual: boolean; virtual; abstract;
- procedure Edit; virtual; abstract;
- function GetAttributes: TPropertyAttributes; virtual; abstract;
- function GetCompClassName: string; virtual; abstract;
- function GetEditLimit: integer; virtual; abstract;
- function GetEditValue(var Value:string): boolean; virtual; abstract;
- function GetName: string; virtual; abstract;
- procedure GetProperties(Proc:TGetPropProc); virtual; abstract;
- function GetPropType: PTypeInfo; virtual; abstract;
- function GetValue: string; virtual; abstract;
- procedure GetValues(Proc:TGetStrProc); virtual; abstract;
- procedure Revert; virtual; abstract;
- procedure SetValue(const Value:string); virtual; abstract;
- function GetCompClass: TClass; virtual; abstract;
- end;
-
- TICompInfo = class(TInterface)
- public
- procedure ClearEvent(Index:integer); virtual; abstract;
- function GetClassName: string; virtual; abstract;
- function GetEventCount: integer; virtual; abstract;
- function GetEventInfo(Index:integer): PPropInfo; virtual; abstract;
- function GetEventValue(Index:integer): string; virtual; abstract;
- function GetComponentHandle:pointer; virtual; abstract;
- function GetNamePath: String; virtual; abstract;
- function GetSubInfoCount: Integer; virtual; abstract;
- function GetSubInfo(lndex: Integer): TICompInfo; virtual; abstract;
- end;
-
- TInitLibraryFunc = function( App: TIDelphiIDE): TILibrary;
-
- const
- DelphiIDE : TIDelphiIDE = nil;
- CompLib : TILibrary = nil;
-
- var
- CF_COMPONENTS : word;
-
- {function PossibleStream(const S:string):boolean;
- procedure CopyStreamToClipboard(S:TMemoryStream);
- function GetClipboardStream: TMemoryStream;}
-
- implementation
-
- end.
-